/*!
 * 公共工具封装脚本
 * @version 1.0
 */


/**
 * 打开新窗口页面
 * 
 * @param url
 *            新窗口url
 */
function windowOpen(url) {
	var link = document.createElement("a");
	link.setAttribute("href", url);
	link.setAttribute("target", "_blank");
	link.setAttribute("id", "camnpr");
	document.body.appendChild(link);
	// link.click();
	// 为兼容safari浏览器
	var e = document.createEvent('MouseEvent');
	e.initEvent('click', false, false);
	setTimeout(link.dispatchEvent(e), 2000);
}

/**
 * 搜索条件copy到hidden
 */
function searchToHidden() {
	var searchNodes = $("[searchDisplay=true]");
	for (var i = 0; i < searchNodes.length; i++) {

		// 筛选条件显示值
		var displayNode = searchNodes[i];
		var displayType = $(displayNode).attr("type");
		var displayId = $(displayNode).attr("id");
		var displayValue = $(displayNode).val();

		// 过滤除input和select以外元素
		if (!$(displayNode).is('input') && !$(displayNode).is('select')) {
			continue;
		}

		// 筛选条件隐藏提交值
		var hiddenNode = $("#" + displayId + "Hid");
		hiddenNode.val(displayValue);
	}

	// 搜索时重置当前页到第一页
	// $("#pageIpt").val(1);
}

/**
 * 全选按钮点击事件
 * 
 * @param node
 *            全选按钮(this)
 * @param checkboxname
 *            多选框名
 */
function changeAllCheckBox(node, checkboxname) {
	if (node.checked) {
		selectAllCheckBox(checkboxname);
	} else {
		clearAllCheckBox(checkboxname);
	}
}

/**
 * 取消全选多选框
 * 
 * @param checkboxname
 *            多选框名称
 */
function clearAllCheckBox(checkboxname) {
	$("input[name='" + checkboxname + "']").prop('checked', false);
}

/**
 * 全选多选框
 * 
 * @param checkboxname
 *            多选框名称
 */
function selectAllCheckBox(checkboxname) {
	$("input[name='" + checkboxname + "']").prop('checked', true);
}

/**
 * 获取多选框被选中的元素
 * 
 * @param checkboxname
 *            多选框名称
 */
function getCheckedNodes(checkboxname) {
	var $checkbox = $("input[name='" + checkboxname + "']:checked");
	return $checkbox;
}

/**
 * 获取多选框选中的多个值
 * 
 * @param checkboxname
 *            多选框名称
 */
function getCheckboxVal(checkboxname) {
	var str = "";
	$("input[name='" + checkboxname + "']:checked").each(function() {
		str += "," + $(this).val();
	});

	if (str.length > 0) {
		str = str.substring(1);
	}
	return str;
}

/**
 * 获取多选框被选中一个的值
 * 
 * @param checkboxname
 *            多选框名称
 */
function getCheckboxOnlyOneVal(checkboxname) {
	var str = "";
	var $checkbox = $("input[name='" + checkboxname + "']:checked");
	var len = $checkbox.length;
	if (len == 1) {
		str = $checkbox.val()
	}
	return str;
}

/**
 * click搜索提示
 * 
 * @param id
 *            搜索框id
 * @param hint
 *            提示内容
 */
function clickHint(id, hint) {
	if ($("#" + id).val() == hint) {
		$("#" + id).val("").focus().removeClass("searchgray").addClass(
				"searchblack");
	}
}

/**
 * blur搜索提示
 * 
 * @param id
 *            搜索框id
 * @param hint
 *            提示内容
 */
function blurHint(id, hint) {
	if ($.trim($("#" + id).val()) == "") {
		$("#" + id).val(hint).removeClass("searchblack").addClass("searchgray");
	} else {
		$("#" + id).removeClass("searchgray").addClass("searchblack");
	}
}

/**
 * click密码输入框提示
 * 
 * @param id
 *            搜索框id
 */
function clickPas() {
	$("#password").val('');
	$("#password").show().focus();
	$("#textpas").hide();
}

/**
 * blur密码输入框提示
 * 
 * @param id
 *            搜索框id
 */
function blurPas() {
	if ($.trim($("#password").val()) == "") {
		$("#textpas").show();
		$("#password").hide();
	}
}

/**
 * 列表页提交按钮方法
 * 
 * @param buttonId
 *            包含提示语的输入框ID
 * @param formId
 *            所在form的formID
 * @param hintMsg
 *            提示语
 */
function searchSubmit(buttonId, formId, hintMsg) {
	if ($("#" + buttonId).val() == hintMsg) {
		$("#" + buttonId).val("");
	}
	var inputVar = $("#" + buttonId).val();
	if (inputVar.length > 25) {
		showMessageDialog("输入条件过长，请重新输入！");
		return;
	}
	$("#" + formId).submit();
}

/** ***************************** input text end ******************************* */


/**
 * 批量设置默认图片
 * 
 * @param name
 *            img name
 * @param defImg
 *            默认图片路径
 */
function setDefaultImg(name, defImg) {
	$("img[name='" + name + "']").each(
			function() {
				if (!this.complete || typeof this.naturalWidth == "undefined"
						|| this.naturalWidth == 0) {
					this.src = defImg;
				}
			});
}

/**
 * 返回
 * 
 * @param msg
 *            确认信息<br>
 *            不填写msg时，直接返回
 */
function historyBack(msg) {
	if (!msg) {
		window.history.go(-1);
	} else {
		if (confirm(msg + "？")) {
			window.history.go(-1);
		}
	}
}

function sendMailBox(checkboxname) {
	var touser = "";
	$("input[name='" + checkboxname + "']:checked").each(function() {
		touser += $("#mail_" + $(this).val()).val() + ";";
	});
	$("#touser").val(touser);
	$("#sendMail").submit();
}

/**
 * 日期：2016.08.05 作用： 判断浏览器是否支持 placeholder； 解释：需要使用jquery;
 * 当浏览器不支持placeholder时。调用这个函数可以添加placeholder效果；
 */
function placeholder() {
	var supportOrNot = 'placeholder' in document.createElement('input');
	// 判断浏览器是否支持 placeholder,如果不支持，执行如下操作;
	if (!supportOrNot) {
		var placeholderList = $('[placeholder]').not("[type='password']");
		placeholderList.each(function(i) {
			if ($(this).attr("placeholder") != "") {

				var height = $(this).css("height");
				var marginTop = $(this).css("marginTop");
				var marginLeft = $(this).css("marginLeft");

				var heightNum = 0;
				if (height && height != '') {
					heightNum = parseInt(height)

				} else {
					heightNum = $(this).height();
				}

				var marginTopNum = 0;
				if (marginTop && marginTop != '') {
					marginTopNum = parseInt(marginTop);
				}

				var marginLeftNum = 0;
				if (marginLeft && marginLeft != '') {
					marginLeftNum = parseInt(marginLeft);
				}

				var lineHight = (heightNum + marginTopNum * 2) + "px";
				var placeSpan = $("<strong>");
				placeSpan.attr("placeSpan", "true");
				placeSpan.text($(this).attr("placeholder"));
				placeSpan.css({
					color : "#ccc",
					"font-size" : 12,
					"font-family" : "宋体",
					"font-style" : "normal",
					"vertical-align" : "middle",
					"line-height" : lineHight,
					"margin-left" : marginLeftNum + 10 + "px",
					display : "inline-block",
					position : "absolute",
					"z-index" : 2
				});

				$(this).before(placeSpan);

				var input = $(this);
				if (input.val() != '') {
					placeSpan.hide();
				}

				placeSpan.click(function() {
					input.focus();
					placeSpan.hide();
				});

				$(input).change(function() {
					if (input.val() == "") {
						placeSpan.show();
					} else {
						placeSpan.hide();
					}
				});

				$(input).focus(function() {
					placeSpan.hide();
				});

				$(input).blur(function() {
					if (input.val() == "") {
						placeSpan.show();
					}
				});
			}
		});
	}
	;
}


/*  设置模态框垂直居中显示;
 *  参数:传入弹出摸态框的Id(即:class为modal 所对应的div);
 *
 * */
function chgModalPosition(modalId){
	if(modalId==null){return }
	var mod=$("#"+modalId);
	var winH=$(window).height();
	var modalObj=mod.find(".modal-dialog").eq(0);
	var modalH=$(modalObj).actual("height");
	marginTop=(winH-modalH)/2;
	if(marginTop>=0){
		modalObj.css("margin-top",marginTop);	
	}else{
		modalObj.css("margin-top","20px");
	}
}

